package com.starview.star.compiler.util;

import java.io.File;
import java.io.IOException;

/**
 * An extension to the catalog entry that encodes an ability to write the
 * catalog entry's contents to an output on demand.
 *
 * @author fgm
 */

public interface Writeable{
  /**
   * Base method to write the contents of the catalog entry to an output file.
   * <p/>
   * When the write method is called, the entire contents should be written, and
   * any temporary resources should be released.
   *
   * @param output where to write to.
   * @throws IOException when something goes wrong
   */
  void write(File output) throws IOException;
}
